package com.br.sku;

import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;



public class SkuDAOHibernate implements SkuDAO{

	private Session sessao;
    
    public void setSessao(Session sessao) {
            this.sessao = sessao;
    }
    
    @Override
    public void salvar(Sku sku) {
            this.sessao.save(sku);
            
    }

    @Override
    public void atualizar(Sku sku) {
            this.sessao.update(sku);
            
    }

    @Override
    public void excluir(Sku sku) {
            this.sessao.delete(sku);
            
    }

    @SuppressWarnings("unchecked")
    @Override
    public List<Sku> listar() {
            
            return this.sessao.createCriteria(Sku.class).list();
    }

    @Override
    public Sku carregar(Integer codigo) {
            
            return (Sku) this.sessao.get(Sku.class, codigo);
    }

    @Override
    public Sku pesquisarPorDescricao(String nome) {
            
        String sql = "from Sku c where c.nome like :nome";
        Query consulta = this.sessao.createQuery(sql);
        consulta.setString("nome", "%" + nome + "%");
        return (Sku) consulta.uniqueResult();
        
        
            
    }

    
}
